import logging
import os
import time
from logging import handlers

# 基础路径地址
BASE_DIR = os.path.dirname(os.path.abspath(__file__))

# 初始化日志函数
def init_logging():
    # 创建日志器
    logger = logging.getLogger()
    # 设置日志等级
    logger.setLevel(logging.DEBUG)

    # 设置处理器
    # 控制台处理器:控制把日志输出道控制台
    sf = logging.StreamHandler()

    # 文件处理器:吧日志输出到外部文件当中,需要提前定义文件的丼和文件名成
    logname = os.path.dirname(os.path.abspath(__file__)) + '/log/log.log'
    fh = logging.handlers.TimedRotatingFileHandler(logname, when='midnight', interval=1, backupCount=7,
                                                   encoding='utf-8')
    sf.setLevel(logging.DEBUG)
    fh.setLevel(logging.INFO)
    # 设置格式化器
    fmt = "%(asctime)s %(levelname)s [%(name)s] [%(filename)s(%(funcName)s:%(lineno)d)] - %(message)s"
    formatter = logging.Formatter(fmt)
    # 将格式化器添加到处理器当中
    sf.setFormatter(formatter)
    fh.setFormatter(formatter)
    # 将处理器添加到日至器当中
    logger.addHandler(sf)
    logger.addHandler(fh)